<html><head><title>Artemax: Artemis framework port for Blitzmax. reference</title>
<link rel=stylesheet Type=text/css href='../../../../doc/bmxstyle.css'>
</head><body>
<table width=100% cellspacing=0><tr align=center><td class=small>&nbsp;</td>
<td class=small width=1%><b>wdw.artemax:</b></td>
<td class=small width=1%><a href=#types class=small>Types</a></td>
<td class=small width=1%><a href=#modinfo class=small>Modinfo</a></td>
<td class=small width=1%><a href='../../../../mod/wdw.mod/artemax.mod/artemax.bmx' class=small>Source</a></td>
<td class=small>&nbsp;</td></tr></table>
<h1>Artemax: Artemis framework port for Blitzmax.</h1>
Visit http://gamadu.com/artemis/ for the java original.
<h2><a name=types></a>Types Summary</h2><table class=doc width=100%>
<tr><td class=docleft width=1%><a href=#TBag>TBag</a></td><td class=docright>
an unsorted collection type, using array for speed.
</td></tr>
<tr><td class=docleft width=1%><a href=#TComponent>TComponent</a></td><td class=docright>
All components in the system must extend this class.
</td></tr>
<tr><td class=docleft width=1%><a href=#TComponentMapper>TComponentMapper</a></td><td class=docright>
High performance component retrieval from entities.
</td></tr>
<tr><td class=docleft width=1%><a href=#TComponentType>TComponentType</a></td><td class=docright>
each component has a bit and id.
</td></tr>
<tr><td class=docleft width=1%><a href=#TComponentTypeManager>TComponentTypeManager</a></td><td class=docright>
manages component types.
</td></tr>
<tr><td class=docleft width=1%><a href=#TDelayedEntityProcessingSystem>TDelayedEntityProcessingSystem</a></td><td class=docright>
If you need to process entities after a certain interval then use this.
</td></tr>
<tr><td class=docleft width=1%><a href=#TDelayedEntitySystem>TDelayedEntitySystem</a></td><td class=docright>
The purpose of this class is to allow systems to execute at varying intervals.
</td></tr>
<tr><td class=docleft width=1%><a href=#TEntity>TEntity</a></td><td class=docright>
System entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#TEntityManager>TEntityManager</a></td><td class=docright>
The entity manager holds all entities and components.
</td></tr>
<tr><td class=docleft width=1%><a href=#TEntityProcessingSystem>TEntityProcessingSystem</a></td><td class=docright>
A typical entity system. Use this when you need to process.
</td></tr>
<tr><td class=docleft width=1%><a href=#TEntitySystem>TEntitySystem</a></td><td class=docright>
The most raw entity system. It should not typically be used, but you can create your own entity system handling by extending this.
</td></tr>
<tr><td class=docleft width=1%><a href=#TGroupManager>TGroupManager</a></td><td class=docright>
If you need to group your entities together, e.g. tanks going.
</td></tr>
<tr><td class=docleft width=1%><a href=#TIntervalEntityProcessingSystem>TIntervalEntityProcessingSystem</a></td><td class=docright>
If you need to process entities at a certain interval then use this.
</td></tr>
<tr><td class=docleft width=1%><a href=#TIntervalEntitySystem>TIntervalEntitySystem</a></td><td class=docright>
A system that processes entities at a interval in milliseconds.
</td></tr>
<tr><td class=docleft width=1%><a href=#TManager>TManager</a></td><td class=docright>
base type for CUSTOM managers.
</td></tr>
<tr><td class=docleft width=1%><a href=#TSystemBitManager>TSystemBitManager</a></td><td class=docright>
Manages system identifier bits.
</td></tr>
<tr><td class=docleft width=1%><a href=#TSystemManager>TSystemManager</a></td><td class=docright>
If you need to communicate with systems from another system, then.
</td></tr>
<tr><td class=docleft width=1%><a href=#TTagManager>TTagManager</a></td><td class=docright>
If you need to tag any entity, use this. A typical usage.
</td></tr>
<tr><td class=docleft width=1%><a href=#TTimer>TTimer</a></td><td class=docright>
Type description.
</td></tr>
<tr><td class=docleft width=1%><a href=#TWorld>TWorld</a></td><td class=docright>
Primary instance of the Artemax framework. It contains all the managers.
</td></tr>
</table>
<h2
 id=typesdet>Types
</h2>
<table class=doc width=100% cellspacing=3 id=TBag>
<tr><td class=doctop colspan=2>Type TBag</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>an unsorted collection type, using array for speed.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>contains objects which can be retrieved by index.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TBag_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#Add>Add</a></td><td class=docright>
adds specified element to end of this bag. if needed.
</td></tr>
<tr><td class=docleft width=1%><a href=#AddAllFrom>AddAllFrom</a></td><td class=docright>
add all items into this bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Clear>Clear</a></td><td class=docright>
removes all elements from this bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Contains>Contains</a></td><td class=docright>
returns true if specified element is in the bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Get>Get</a></td><td class=docright>
returns the element at the specified index.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetCapacity>GetCapacity</a></td><td class=docright>
returns the number of element slots in the bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetSize>GetSize</a></td><td class=docright>
returns the number of elements in the bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Grow>Grow</a></td><td class=docright>
grows bag array capacity.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsEmpty>IsEmpty</a></td><td class=docright>
returns true if the bag contains no elements.
</td></tr>
<tr><td class=docleft width=1%><a href=#Remove>Remove</a></td><td class=docright>
removes the first occurance of the specified element.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveAllFrom>RemoveAllFrom</a></td><td class=docright>
Removes from this bag all of its elements that are.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveByIndex>RemoveByIndex</a></td><td class=docright>
removes the element at the specified position.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveLast>RemoveLast</a></td><td class=docright>
removes and returns the last item in the bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Set>Set</a></td><td class=docright>
set element at specified index in the bag.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Add>
<tr><td class=doctop colspan=2>Method Add(o:Object)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>adds specified element to end of this bag. if needed.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=AddAllFrom>
<tr><td class=doctop colspan=2>Method AddAllFrom(b2:TBag)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>add all items into this bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Clear>
<tr><td class=doctop colspan=2>Method Clear()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>removes all elements from this bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Contains>
<tr><td class=doctop colspan=2>Method Contains:Int(o:Object)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>returns true if specified element is in the bag.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>only finds the first occurance.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Get>
<tr><td class=doctop colspan=2>Method Get:Object(index:Int)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>returns the element at the specified index.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetCapacity>
<tr><td class=doctop colspan=2>Method GetCapacity:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>returns the number of element slots in the bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetSize>
<tr><td class=doctop colspan=2>Method GetSize:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>returns the number of elements in the bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Grow>
<tr><td class=doctop colspan=2>Method Grow(newSize:Int = 0 )</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>grows bag array capacity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>each grow step is bigger than the previous.
more growth calls = more need for more space.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsEmpty>
<tr><td class=doctop colspan=2>Method IsEmpty:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>returns true if the bag contains no elements.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Remove>
<tr><td class=doctop colspan=2>Method Remove:Int(o:Object)</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>true if remove succeeded.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>removes the first occurance of the specified element.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveAllFrom>
<tr><td class=doctop colspan=2>Method RemoveAllFrom:Int(b2:TBag)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes from this bag all of its elements that are.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveByIndex>
<tr><td class=doctop colspan=2>Method RemoveByIndex:Object(index:Int)</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>the removed object.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>removes the element at the specified position.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveLast>
<tr><td class=doctop colspan=2>Method RemoveLast:Object()</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>removed object or null.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>removes and returns the last item in the bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Set>
<tr><td class=doctop colspan=2>Method Set(index:Int, o:Object)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>set element at specified index in the bag.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>sizes bag if needed.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TComponent>
<tr><td class=doctop colspan=2>Type TComponent Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>All components in the system must extend this class.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TComponentMapper>
<tr><td class=doctop colspan=2>Type TComponentMapper Extends TComponent</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>High performance component retrieval from entities.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Use this wherever you need to retrieve components from entities often and fast.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TComponentMapper_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#Get>Get</a></td><td class=docright>
Returns the component of mapped type belonging to specified entity.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Get>
<tr><td class=doctop colspan=2>Method Get:TComponent(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>TComponent.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the component of mapped type belonging to specified entity.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TComponentType>
<tr><td class=doctop colspan=2>Type TComponentType</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>each component has a bit and id.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>This type links the two together in the TComponentTypeManager.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TComponentTypeManager>
<tr><td class=doctop colspan=2>Type TComponentTypeManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>manages component types.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Type is not created, only its functions are used.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TComponentTypeManager_functions></a>Functions Summary</th></tr>
<tr><td class=docleft width=1%><a href=#GetBit>GetBit</a></td><td class=docright>
Retrieves bit of componenttype for specified component.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetId>GetId</a></td><td class=docright>
Retrieves id of componenttype for specified component.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTypeFor>GetTypeFor</a></td><td class=docright>
Retrieves componenttype for specified component.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetBit>
<tr><td class=doctop colspan=2>Function GetBit:Long(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Retrieves bit of componenttype for specified component.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetId>
<tr><td class=doctop colspan=2>Function GetId:Int(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Retrieves id of componenttype for specified component.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTypeFor>
<tr><td class=doctop colspan=2>Function GetTypeFor:TComponentType(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Retrieves componenttype for specified component.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Creates a new componenttype if none exists.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TDelayedEntityProcessingSystem>
<tr><td class=doctop colspan=2>Type TDelayedEntityProcessingSystem Extends TDelayedEntitySystem</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>If you need to process entities after a certain interval then use this.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TDelayedEntityProcessingSystem_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#ProcessDelayedEntity>ProcessDelayedEntity</a></td><td class=docright>
Process a entity this system is interested in.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=ProcessDelayedEntity>
<tr><td class=doctop colspan=2>Method ProcessDelayedEntity(e:TEntity, accumulatedDelta:Int) Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Process a entity this system is interested in.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TDelayedEntitySystem>
<tr><td class=doctop colspan=2>Type TDelayedEntitySystem Extends TEntitySystem</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>The purpose of this class is to allow systems to execute at varying intervals.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TDelayedEntitySystem_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#GetInitialTimeDelay>GetInitialTimeDelay</a></td><td class=docright>
Get the initial delay that the system was ordered to process entities after.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetRemainingTimeUntilProcessing>GetRemainingTimeUntilProcessing</a></td><td class=docright>
Returns the time remaining before the system starts processing.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsRunning>IsRunning</a></td><td class=docright>
Returns true if the system is running.
</td></tr>
<tr><td class=docleft width=1%><a href=#ProcessDelayedEntities>ProcessDelayedEntities</a></td><td class=docright>
The entities to process with accumulated delta.
</td></tr>
<tr><td class=docleft width=1%><a href=#StartDelayedRun>StartDelayedRun</a></td><td class=docright>
Start processing of entities after a certain amount of milliseconds.
</td></tr>
<tr><td class=docleft width=1%><a href=#Stop>Stop</a></td><td class=docright>
Aborts running the system in the future and stops it.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetInitialTimeDelay>
<tr><td class=doctop colspan=2>Method GetInitialTimeDelay:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Get the initial delay that the system was ordered to process entities after.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetRemainingTimeUntilProcessing>
<tr><td class=doctop colspan=2>Method GetRemainingTimeUntilProcessing:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the time remaining before the system starts processing.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsRunning>
<tr><td class=doctop colspan=2>Method IsRunning:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns true if the system is running.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=ProcessDelayedEntities>
<tr><td class=doctop colspan=2>Method ProcessDelayedEntities(entities:TBag, accumulatedDelta:Int) Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>The entities to process with accumulated delta.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=StartDelayedRun>
<tr><td class=doctop colspan=2>Method StartDelayedRun(d:Int)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Start processing of entities after a certain amount of milliseconds.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Cancels current delayed run and starts a new one.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Stop>
<tr><td class=doctop colspan=2>Method Stop()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Aborts running the system in the future and stops it.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TEntity>
<tr><td class=doctop colspan=2>Type TEntity Final</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>System entity.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TEntity_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#AddComponent>AddComponent</a></td><td class=docright>
Adds specified component to this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#AddSystemBit>AddSystemBit</a></td><td class=docright>
Adds specified bit to the systembits of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#AddTypeBit>AddTypeBit</a></td><td class=docright>
Adds specified componenttype bit.
</td></tr>
<tr><td class=docleft width=1%><a href=#Delete>Delete</a></td><td class=docright>
Delete this entity from the world.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetComponent>GetComponent</a></td><td class=docright>
Retrieves component fast from entity by componenttype.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetComponent2>GetComponent2</a></td><td class=docright>
Slower retrieval of components from this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetComponents>GetComponents</a></td><td class=docright>
Get all components belonging to this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetId>GetId</a></td><td class=docright>
Returns the entity id.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetSystemBits>GetSystemBits</a></td><td class=docright>
Returns the system bit of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTypeBits>GetTypeBits</a></td><td class=docright>
Returns the type bits.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetUniqueID>GetUniqueID</a></td><td class=docright>
Returns the unique id of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsActive>IsActive</a></td><td class=docright>
Checks if the entity is active.
</td></tr>
<tr><td class=docleft width=1%><a href=#Refresh>Refresh</a></td><td class=docright>
Refresh all changes to components for this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveComponent>RemoveComponent</a></td><td class=docright>
Removes specified component from this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveComponentType>RemoveComponentType</a></td><td class=docright>
Faster removal of components from a entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveSystemBit>RemoveSystemBit</a></td><td class=docright>
Removes specified bit from the systembits of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveTypeBit>RemoveTypeBit</a></td><td class=docright>
Removes specified componenttype bit.
</td></tr>
<tr><td class=docleft width=1%><a href=#Reset>Reset</a></td><td class=docright>
Resets system and componenttype bits.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetGroup>SetGroup</a></td><td class=docright>
Set the group of the entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetSystemBits>SetSystemBits</a></td><td class=docright>
Sets all systembits of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetTag>SetTag</a></td><td class=docright>
Assign a tag to this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetTypeBits>SetTypeBits</a></td><td class=docright>
Sets all componenttype bits of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetUniqueID>SetUniqueID</a></td><td class=docright>
Sets the unique id of this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#toString>toString</a></td><td class=docright>
Returns entity information.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=AddComponent>
<tr><td class=doctop colspan=2>Method AddComponent(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Adds specified component to this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=AddSystemBit>
<tr><td class=doctop colspan=2>Method AddSystemBit(bit:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Adds specified bit to the systembits of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=AddTypeBit>
<tr><td class=doctop colspan=2>Method AddTypeBit(bit:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Adds specified componenttype bit.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Delete>
<tr><td class=doctop colspan=2>Method Delete()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Delete this entity from the world.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetComponent>
<tr><td class=doctop colspan=2>Method GetComponent:TComponent(ct:TComponentType)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Retrieves component fast from entity by componenttype.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>This is the preferred method to use when retrieving a component
from an entity. It will provide good performance.
In order to retrieve the component fast you must provide a componenttype
instance for the expected component.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetComponent2>
<tr><td class=doctop colspan=2>Method GetComponent2:TComponent(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Slower retrieval of components from this entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Minimize use of this, but it is fine to use e.g. when creating
and setting data in components.
Returns: component of the same type, belonging to this entity,
or null if none is found.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetComponents>
<tr><td class=doctop colspan=2>Method GetComponents:TBag()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Get all components belonging to this entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>WARNING. Use only for debugging purposes, it is dead slow.
WARNING. The returned bag is only valid until this method is called
again, then it is overwritten.
returns: TBag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetId>
<tr><td class=doctop colspan=2>Method GetId:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the entity id.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetSystemBits>
<tr><td class=doctop colspan=2>Method GetSystemBits:Long()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the system bit of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTypeBits>
<tr><td class=doctop colspan=2>Method GetTypeBits:Long()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the type bits.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Each bit represents a componenttype.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetUniqueID>
<tr><td class=doctop colspan=2>Method GetUniqueID:Long()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the unique id of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsActive>
<tr><td class=doctop colspan=2>Method IsActive:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Checks if the entity is active.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Refresh>
<tr><td class=doctop colspan=2>Method Refresh()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Refresh all changes to components for this entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>After adding or removing components, you must call this method.
It will update all relevant systems. It is typical to call this after
adding components to a newly created entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveComponent>
<tr><td class=doctop colspan=2>Method RemoveComponent(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes specified component from this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveComponentType>
<tr><td class=doctop colspan=2>Method RemoveComponentType(ct:TComponentType )</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Faster removal of components from a entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>The component of specified type is removed from the entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveSystemBit>
<tr><td class=doctop colspan=2>Method RemoveSystemBit(bit:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes specified bit from the systembits of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveTypeBit>
<tr><td class=doctop colspan=2>Method RemoveTypeBit(bit:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes specified componenttype bit.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Reset>
<tr><td class=doctop colspan=2>Method Reset()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Resets system and componenttype bits.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetGroup>
<tr><td class=doctop colspan=2>Method SetGroup(group:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Set the group of the entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Same as World.setGroup().</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetSystemBits>
<tr><td class=doctop colspan=2>Method SetSystemBits(bits:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Sets all systembits of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetTag>
<tr><td class=doctop colspan=2>Method SetTag(tag:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Assign a tag to this entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Same as World.setTag().</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetTypeBits>
<tr><td class=doctop colspan=2>Method SetTypeBits(bits:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Sets all componenttype bits of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetUniqueID>
<tr><td class=doctop colspan=2>Method SetUniqueID(uniqueID:Long)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Sets the unique id of this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=toString>
<tr><td class=doctop colspan=2>Method toString:String()</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>String.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns entity information.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TEntityManager>
<tr><td class=doctop colspan=2>Type TEntityManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>The entity manager holds all entities and components.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TEntityManager_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#AddComponent>AddComponent</a></td><td class=docright>
Adds specified component to entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#CreateEntity>CreateEntity</a></td><td class=docright>
Creates an entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetActiveEntities>GetActiveEntities</a></td><td class=docright>
Return the active entities bag.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetComponent>GetComponent</a></td><td class=docright>
Returns component of specified type in this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetComponents>GetComponents</a></td><td class=docright>
Returns a bag holding all components of specified entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetEntity>GetEntity</a></td><td class=docright>
Returns entity with specified id.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetEntityCount>GetEntityCount</a></td><td class=docright>
Returns number of entities in the system.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTotalCreated>GetTotalCreated</a></td><td class=docright>
Returns the number of entities created.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTotalRemoved>GetTotalRemoved</a></td><td class=docright>
Returns the number of entities deleted.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsActive>IsActive</a></td><td class=docright>
Returns true if the entity with specified id is live.
</td></tr>
<tr><td class=docleft width=1%><a href=#Refresh>Refresh</a></td><td class=docright>
Refreshes specified entity in all systems.
</td></tr>
<tr><td class=docleft width=1%><a href=#Remove>Remove</a></td><td class=docright>
Removes entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveComponent>RemoveComponent</a></td><td class=docright>
Removes specified component from entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveComponentByType>RemoveComponentByType</a></td><td class=docright>
Removes component from entity by specified type.
</td></tr>
<tr><td class=docleft width=1%><a href=#RemoveComponentsOfEntity>RemoveComponentsOfEntity</a></td><td class=docright>
Removes all components from the entity.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=AddComponent>
<tr><td class=doctop colspan=2>Method AddComponent(e:TEntity, c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Adds specified component to entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Also registers the component's type.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=CreateEntity>
<tr><td class=doctop colspan=2>Method CreateEntity:TEntity(w:TWorld)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Creates an entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetActiveEntities>
<tr><td class=doctop colspan=2>Method GetActiveEntities:TBag()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Return the active entities bag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetComponent>
<tr><td class=doctop colspan=2>Method GetComponent:TComponent(e:TEntity, ct:TComponentType)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns component of specified type in this entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>An entity can only hold one component of a type.
returns: TComponent.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetComponents>
<tr><td class=doctop colspan=2>Method GetComponents:TBag(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns a bag holding all components of specified entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Use for debugging or export only. It is slow.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntity>
<tr><td class=doctop colspan=2>Method GetEntity:TEntity(entityID:Int)</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>TEntity.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns entity with specified id.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntityCount>
<tr><td class=doctop colspan=2>Method GetEntityCount:Int()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns number of entities in the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTotalCreated>
<tr><td class=doctop colspan=2>Method GetTotalCreated:Long()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the number of entities created.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTotalRemoved>
<tr><td class=doctop colspan=2>Method GetTotalRemoved:Long()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the number of entities deleted.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsActive>
<tr><td class=doctop colspan=2>Method IsActive:Int(id:Int)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns true if the entity with specified id is live.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Refresh>
<tr><td class=doctop colspan=2>Method Refresh(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Refreshes specified entity in all systems.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Each system will check if the entity belongs to the system
and if a component in the entity needs to be registered in that
system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Remove>
<tr><td class=doctop colspan=2>Method Remove(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Also removes all its components from the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveComponent>
<tr><td class=doctop colspan=2>Method RemoveComponent(e:TEntity, c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes specified component from entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveComponentByType>
<tr><td class=doctop colspan=2>Method RemoveComponentByType(e:TEntity, ct:TComponentType)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes component from entity by specified type.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RemoveComponentsOfEntity>
<tr><td class=doctop colspan=2>Method RemoveComponentsOfEntity(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes all components from the entity.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TEntityProcessingSystem>
<tr><td class=doctop colspan=2>Type TEntityProcessingSystem Extends TEntitySystem</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>A typical entity system. Use this when you need to process.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TEntityProcessingSystem_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#ProcessEntity>ProcessEntity</a></td><td class=docright>
Process an entity this system is interested in.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=ProcessEntity>
<tr><td class=doctop colspan=2>Method ProcessEntity(e:TEntity) Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Process an entity this system is interested in.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TEntitySystem>
<tr><td class=doctop colspan=2>Type TEntitySystem Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>The most raw entity system. It should not typically be used, but you can create your own entity system handling by extending this.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TEntitySystem_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#Added>Added</a></td><td class=docright>
Called when the system has received an entity it is interested in, e.g. created or a component was added to it.
</td></tr>
<tr><td class=docleft width=1%><a href=#Begin>Begin</a></td><td class=docright>
Called before processing of entities begins.
</td></tr>
<tr><td class=docleft width=1%><a href=#CheckProcessing>CheckProcessing</a></td><td class=docright>
Returns true if the system should be processed, false if not.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetActives>GetActives</a></td><td class=docright>
Returns a bag with the active entities in this system.
</td></tr>
<tr><td class=docleft width=1%><a href=#Initialize>Initialize</a></td><td class=docright>
User hook for additional setup code.
</td></tr>
<tr><td class=docleft width=1%><a href=#Process>Process</a></td><td class=docright>
The system process runs here.
</td></tr>
<tr><td class=docleft width=1%><a href=#ProcessEntities>ProcessEntities</a></td><td class=docright>
Any implementing entity system must implement this method and the logic to process the given entities of the system.
</td></tr>
<tr><td class=docleft width=1%><a href=#RegisterComponent>RegisterComponent</a></td><td class=docright>
Registers specified component with this system.
</td></tr>
<tr><td class=docleft width=1%><a href=#Removed>Removed</a></td><td class=docright>
Called when a entity was removed from this system, e.g. deleted or had one of it's components removed.
</td></tr>
<tr><td class=docleft width=1%><a href=#Stop>Stop</a></td><td class=docright>
Called after processing of entities ends.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Added>
<tr><td class=doctop colspan=2>Method Added(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Called when the system has received an entity it is interested in, e.g. created or a component was added to it.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Begin>
<tr><td class=doctop colspan=2>Method Begin()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Called before processing of entities begins.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=CheckProcessing>
<tr><td class=doctop colspan=2>Method CheckProcessing:Int() Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns true if the system should be processed, false if not.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetActives>
<tr><td class=doctop colspan=2>Method GetActives:TBag()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns a bag with the active entities in this system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Initialize>
<tr><td class=doctop colspan=2>Method Initialize()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>User hook for additional setup code.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Called by the system manager. _world is set by this time.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Process>
<tr><td class=doctop colspan=2>Method Process()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>The system process runs here.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=ProcessEntities>
<tr><td class=doctop colspan=2>Method ProcessEntities(entities:TBag) Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Any implementing entity system must implement this method and the logic to process the given entities of the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RegisterComponent>
<tr><td class=doctop colspan=2>Method RegisterComponent(c:TComponent)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Registers specified component with this system.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>The componenttype bit gets added to the system type bits.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Removed>
<tr><td class=doctop colspan=2>Method Removed(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Called when a entity was removed from this system, e.g. deleted or had one of it's components removed.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Stop>
<tr><td class=doctop colspan=2>Method Stop()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Called after processing of entities ends.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TGroupManager>
<tr><td class=doctop colspan=2>Type TGroupManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>If you need to group your entities together, e.g. tanks going.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TGroupManager_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#GetEntities>GetEntities</a></td><td class=docright>
Get all entities that belong to the provided group.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetGroupOf>GetGroupOf</a></td><td class=docright>
Returns the name of the group that this entity belongs.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsGrouped>IsGrouped</a></td><td class=docright>
Checks if the entity belongs to any group.
</td></tr>
<tr><td class=docleft width=1%><a href=#Remove>Remove</a></td><td class=docright>
Removes the provided entity from the group it is assigned to, if any.
</td></tr>
<tr><td class=docleft width=1%><a href=#Set>Set</a></td><td class=docright>
Set the group of the entity.
</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TGroupManager_functions></a>Functions Summary</th></tr>
<tr><td class=docleft width=1%><a href=#Create>Create</a></td><td class=docright>
Constructor.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntities>
<tr><td class=doctop colspan=2>Method GetEntities:TBag(group:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Get all entities that belong to the provided group.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetGroupOf>
<tr><td class=doctop colspan=2>Method GetGroupOf:String(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the name of the group that this entity belongs.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsGrouped>
<tr><td class=doctop colspan=2>Method IsGrouped:Int(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Checks if the entity belongs to any group.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Remove>
<tr><td class=doctop colspan=2>Method Remove(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes the provided entity from the group it is assigned to, if any.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Set>
<tr><td class=doctop colspan=2>Method Set(group:String, e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Set the group of the entity.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>entity can only belong to one group.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Create>
<tr><td class=doctop colspan=2>Function Create:TGroupManager(w:TWorld)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Constructor.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TIntervalEntityProcessingSystem>
<tr><td class=doctop colspan=2>Type TIntervalEntityProcessingSystem Extends TIntervalEntitySystem Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>If you need to process entities at a certain interval then use this.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TIntervalEntityProcessingSystem_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#ProcessEntity>ProcessEntity</a></td><td class=docright>
Process a entity this system is interested in.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=ProcessEntity>
<tr><td class=doctop colspan=2>Method ProcessEntity(e:TEntity) Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Process a entity this system is interested in.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TIntervalEntitySystem>
<tr><td class=doctop colspan=2>Type TIntervalEntitySystem Extends TEntitySystem</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>A system that processes entities at a interval in milliseconds.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TManager>
<tr><td class=doctop colspan=2>Type TManager Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>base type for CUSTOM managers.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TSystemBitManager>
<tr><td class=doctop colspan=2>Type TSystemBitManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Manages system identifier bits.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TSystemBitManager_functions></a>Functions Summary</th></tr>
<tr><td class=docleft width=1%><a href=#GetBitFor>GetBitFor</a></td><td class=docright>
Retrieves indentifier bit for specified system.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetBitFor>
<tr><td class=doctop colspan=2>Function GetBitFor:Long( s:TEntitySystem )</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Retrieves indentifier bit for specified system.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TSystemManager>
<tr><td class=doctop colspan=2>Type TSystemManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>If you need to communicate with systems from another system, then.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TSystemManager_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#SetSystem>SetSystem</a></td><td class=docright>
Adds a system.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetSystem>
<tr><td class=doctop colspan=2>Method SetSystem:TEntitySystem(s:TEntitySystem)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Adds a system.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TTagManager>
<tr><td class=doctop colspan=2>Type TTagManager</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>If you need to tag any entity, use this. A typical usage.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TTagManager_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#GetEntity>GetEntity</a></td><td class=docright>
Returns entity registered specified tag.
</td></tr>
<tr><td class=docleft width=1%><a href=#IsRegistered>IsRegistered</a></td><td class=docright>
Returns true if tag is present in the system.
</td></tr>
<tr><td class=docleft width=1%><a href=#Register>Register</a></td><td class=docright>
Tags entity with specified tag.
</td></tr>
<tr><td class=docleft width=1%><a href=#Remove>Remove</a></td><td class=docright>
Removes entity (and its tag) from the system.
</td></tr>
<tr><td class=docleft width=1%><a href=#UnRegister>UnRegister</a></td><td class=docright>
Removes tag from the system.
</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TTagManager_functions></a>Functions Summary</th></tr>
<tr><td class=docleft width=1%><a href=#Create>Create</a></td><td class=docright>
Constructor.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntity>
<tr><td class=doctop colspan=2>Method GetEntity:TEntity(tag:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns entity registered specified tag.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=IsRegistered>
<tr><td class=doctop colspan=2>Method IsRegistered:Int(tag:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns true if tag is present in the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Register>
<tr><td class=doctop colspan=2>Method Register(tag:String, e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Tags entity with specified tag.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>A tag can only be used once. Use grouping if you need
to register more entities under one commmon tag/label.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Remove>
<tr><td class=doctop colspan=2>Method Remove(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes entity (and its tag) from the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=UnRegister>
<tr><td class=doctop colspan=2>Method UnRegister(tag:String)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Removes tag from the system.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=Create>
<tr><td class=doctop colspan=2>Function Create:TTagManager(w:TWorld)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Constructor.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TTimer>
<tr><td class=doctop colspan=2>Type TTimer Abstract</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Type description.</td></tr>
</table>
<br>
<table class=doc width=100% cellspacing=3 id=TWorld>
<tr><td class=doctop colspan=2>Type TWorld</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Primary instance of the Artemax framework. It contains all the managers.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>You must use this to create, delete and retrieve entities.
It is also important to set the delta each loop iteration.</td></tr>
</table>
<table class=doc width=90% align=center><tr ><th class=doctop colspan=2 align=left><a name=TWorld_methods></a>Methods Summary</th></tr>
<tr><td class=docleft width=1%><a href=#CreateEntity>CreateEntity</a></td><td class=docright>
Create and return a new or reused entity instance.
</td></tr>
<tr><td class=docleft width=1%><a href=#DeleteEntity>DeleteEntity</a></td><td class=docright>
Delete the provided entity from the world.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetDelta>GetDelta</a></td><td class=docright>
Time since last game loop.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetEntity>GetEntity</a></td><td class=docright>
Get an entity having the specified id.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetEntityManager>GetEntityManager</a></td><td class=docright>
Returns the entity manager.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetGroupManager>GetGroupManager</a></td><td class=docright>
Returns group manager.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetManager>GetManager</a></td><td class=docright>
Returns a manager of the specified ttypid.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetSystemManager>GetSystemManager</a></td><td class=docright>
Returns the system manager.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTagManager>GetTagManager</a></td><td class=docright>
Returns tag manager.
</td></tr>
<tr><td class=docleft width=1%><a href=#GetTween>GetTween</a></td><td class=docright>
Passed time since last update.
</td></tr>
<tr><td class=docleft width=1%><a href=#LoopStart>LoopStart</a></td><td class=docright>
Let framework take care of internal business.
</td></tr>
<tr><td class=docleft width=1%><a href=#RefreshEntity>RefreshEntity</a></td><td class=docright>
Ensure all systems are notified of changs to this entity.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetDelta>SetDelta</a></td><td class=docright>
You must specify the delta for the game here.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetManager>SetManager</a></td><td class=docright>
Allows for setting a custom manager.
</td></tr>
<tr><td class=docleft width=1%><a href=#SetTween>SetTween</a></td><td class=docright>
Sets world tween value.
</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=CreateEntity>
<tr><td class=doctop colspan=2>Method CreateEntity:TEntity()</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>TEntity.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Create and return a new or reused entity instance.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=DeleteEntity>
<tr><td class=doctop colspan=2>Method DeleteEntity(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Delete the provided entity from the world.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetDelta>
<tr><td class=doctop colspan=2>Method GetDelta:Double()</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>Delta in millisecs.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Time since last game loop.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntity>
<tr><td class=doctop colspan=2>Method GetEntity:TEntity(entityID:Int)</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>TEntity.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Get an entity having the specified id.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetEntityManager>
<tr><td class=doctop colspan=2>Method GetEntityManager:TEntityManager()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the entity manager.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetGroupManager>
<tr><td class=doctop colspan=2>Method GetGroupManager:TGroupManager()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns group manager.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetManager>
<tr><td class=doctop colspan=2>Method GetManager:Object( ti:TTypeId )</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns a manager of the specified ttypid.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>The return object has to be cast to the correct type.
returns: Object.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetSystemManager>
<tr><td class=doctop colspan=2>Method GetSystemManager:TSystemManager()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns the system manager.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTagManager>
<tr><td class=doctop colspan=2>Method GetTagManager:TTagManager()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Returns tag manager.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=GetTween>
<tr><td class=doctop colspan=2>Method GetTween:Double()</td></tr>
<tr><td class=docleft width=1%>Returns</td><td class=docright>Tween in millisecs.</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Passed time since last update.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=LoopStart>
<tr><td class=doctop colspan=2>Method LoopStart()</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Let framework take care of internal business.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>Call this at the start of your application main loop.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=RefreshEntity>
<tr><td class=doctop colspan=2>Method RefreshEntity(e:TEntity)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Ensure all systems are notified of changs to this entity.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetDelta>
<tr><td class=doctop colspan=2>Method SetDelta(d:Double)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>You must specify the delta for the game here.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetManager>
<tr><td class=doctop colspan=2>Method SetManager(m:TManager)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Allows for setting a custom manager.</td></tr>
</table>
<table class=doc width=100% cellspacing=3 id=SetTween>
<tr><td class=doctop colspan=2>Method SetTween(t:Double)</td></tr>
<tr><td class=docleft width=1%>Description</td><td class=docright>Sets world tween value.</td></tr>
<tr><td class=docleft width=1%>Information</td><td class=docright>You must specify the tween for render systems here.</td></tr>
</table>
<br>
<h2 id=modinfo>Module Information</h2>
<table width=100%>
<tr><th width=1%>History</th><td>1.00</td></tr>
<tr><th width=1%>License</th><td>MIT</td></tr>
<tr><th width=1%>Copyright</th><td>2012 Wiebo de Wit</td></tr>
<tr><th width=1%>History</th><td>1.00</td></tr>
</body></html>
